package avaliacao.modelo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Estoque {
	private Map<Integer, Produto> produtos;
	private static Estoque instancia;

	protected Estoque() {
		super();
		produtos = new HashMap<Integer, Produto>();
	}

	protected Estoque(Map<Integer, Produto> produtos) {
		super();
		this.produtos = produtos;
	}
	
	public static Estoque getInstance() {
		if (instancia == null) {
			instancia = new Estoque();
			instancia.init();
		}
		return instancia;
	}

	private void init() {
		addProduto(new Produto(1, "Coca-cola lata", 3.5));
		addProduto(new Produto(2, "Guaraná lata", 3.5));
		addProduto(new Produto(3, "Misto quente", 4.5));
		addProduto(new Produto(4, "Cheese burger", 5.0));
		addProduto(new Produto(5, "Cheese salada", 5.5));
		addProduto(new Produto(6, "X-Especial", 7.0));
		addProduto(new Produto(7, "Batata frita pequena", 4.0));
		addProduto(new Produto(8, "Batata frita grande", 6.5));
		addProduto(new Produto(9, "Suco de laranja copo", 4.5));
		addProduto(new Produto(10, "Suco de laranja jarra", 6.5));
	}

	public void addProduto(Produto produto) {
		produtos.put(produto.getCodigo(), produto);
	}

	public Iterator<Produto> getProdutos() {
		return produtos.values().iterator();
	}

	public Produto getProdutoById(int idProduto) {
		return produtos.get(idProduto);
	}
}
